.TH E1432_SELFTEST 3 E1432
.SH NAME
.nf
e1432_selftest \- Perform self test of hardware
e1432_install_file \- Set self test module downloadable
e1432_set_diag_print_level \- Set self test print level
.IX e1432_selftest(3) 3
.IX e1432_install_file(3) 3
.IX e1432_set_diag_print_level(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_selftest(SHORTSIZ16 mods, SHORTSIZ16 *las,
                          SHORTSIZ16 tests, void *opts)
SHORTSIZ16 e1432_install_file(const char *fileName, SHORTSIZ16 from_mem)
SHORTSIZ16 e1432_set_diag_print_level(SHORTSIZ16 print_level)
.cE
.SH DESCRIPTION
\fIe1432_selftest\fR performs a selftest of the hardware.
It returns 0 if all tests pass and a negative error code
if the self test fails.

\fIe1432_install_file\fR specifies the module downloadable file used
by \fIe1432_selftest\fR and should be called before \fIe1432_selftest\fR.

\fIe1432_set_diag_print_level\fR sets the diagnostic output level of
\fIe1432_selftest\fR and should be called before \fIe1432_selftest\fR.

\fImods\fR is the number of modules to be tested.

\fIlas\fR is the pointer to a logical address or array of logical addresses.

\fItests\fR specifies the testing level.
Valid values of \fItests\fR are \fBE1432_SELFTEST_BASIC\fR,
\fBE1432_SELFTEST_FULL\fR, and \fBE1432_SELFTEST_FULL_STD_IO\fR.
\fBE1432_SELFTEST_BASIC\fR specifies fairly quick testing of basic
functionality.
\fBE1432_SELFTEST_FULL\fR specifies basic testing
plus additional testing using the module downloadable file
specified with the \fIe1432_install_file\fR function.
\fBE1432_SELFTEST_FULL_STD_IO\fR specifies basic testing,
testing using the module downloadable,
plus testing assuming testing assuming 1 Volt Peak, 1 kHz sine
on all input and tachometer channels
and placing 1 Volt Peak, 1 kHz sine on source output
for manual verification of source outputs.

\fIopts\fR should be either NULL or a pointer to a string describing the
hardware configuration to be tested against.
This configuration string is a comma separated list of model and options.
An example is "E1432A,1DE,AYF" to specify an 8 channel E1432A
with the tachometer option.
The model number and the options can be found on the
serial number plate(s) on the right side of the module.
If \fIopts\fR is NULL, \fIe1432_selftest\fR will test what it can find.

\fIfileName\fR points to a string which is the path to the module
downloadable to be used in \fBE1432_SELFTEST_FULL\fR and
\fBE1432_SELFTEST_FULL_STD_IO\fR testing.

\fIfrom_mem\fR should be set to 0.

\fIprint_level\fR controlls the level of printing in \fIe1432_selftest\fR.
A setting of 0 or lower completely disables printouts.
A setting of 1 results in only terse, failure messages.
A setting of 2 causes printout of the testing steps as well as detailed
diagnostic messages.
A setting of 3 or more is for printout used in the development of the
\fIe1432_selftest\fR code itself and should not be used.

\fIe1432_selftest\fR underlies the functionality of the \fIhostdiag\fR program.

It should be noted that \fIe1432_selftest\fR attempts to determine if
portions of a module are broken.
It is not guaranteed to find all hardware problems.
It is \fInot\fR a performance test or system verification test.

Also of note is that fact that \fIe1432_selftest\fR is unable to restore
the original state of the module, since it does not even assume that
firmware is loaded in the module.
Because of the low level nature of many of the tests, the state of
the module on exit is not to be depended upon.
The module should be considered to be in an unknown state after calling
\fIe1432_selftest\fR.
Firmware should be reloaded and complete setup performed after
calling \fIe1432_selftest\fR, in order to bring the module to a desired
state.

.cE
.SH "Coverage"
.nf
E1432A, E1433A/B, E1434A models.
Channel add/delete options.
ANM and ANC DRAM options as well as standard DRAM configurations.
AYF tachometer option and 1D4 source option.
.SH "RESET VALUE"
Not applicable.
.SH "RETURN VALUE"
Return 0 if successful, a (negative) error number otherwise.
